package com.fufan.mtsaas.modules.unsafeevent.baqsjrecordmain.service;

import com.baomidou.mybatisplus.service.IService;
import com.fufan.mtsaas.modules.common.bo.response.RequestPojo;
import com.fufan.mtsaas.modules.common.bo.response.Result;
import com.fufan.mtsaas.modules.newtech.xjstech.bo.request.XjsTechDeleteRequest;
import com.fufan.mtsaas.modules.newtech.xjstech.bo.request.XjsTechQueryRequest;
import com.fufan.mtsaas.modules.newtech.xjstech.bo.request.XjsTechSaveRequest;
import com.fufan.mtsaas.modules.newtech.xjstech.bo.response.XjsTechResponse;
import com.fufan.mtsaas.modules.newtech.xjstech.model.XjsTech;
import com.fufan.mtsaas.modules.unsafeevent.baqsjrecordmain.bo.request.*;
import com.fufan.mtsaas.modules.unsafeevent.baqsjrecordmain.bo.request.UnsafeeventAccidentOutSaveRequest;
import com.fufan.mtsaas.modules.unsafeevent.baqsjrecordmain.bo.request.UnsafeeventSurgicalBadSaveRequest;
import com.fufan.mtsaas.modules.unsafeevent.baqsjrecordmain.bo.response.*;
import com.fufan.mtsaas.modules.unsafeevent.baqsjrecordmain.model.BaqsjRecordMain;
import org.apache.poi.ss.formula.functions.T;

/**
 * 不良事件主记录 服务类
 *
 * @author Liby
 * @since 2025-02-18
 */
public interface BaqsjRecordMainSvc extends IService<BaqsjRecordMain> {
    Result<UnsafeeventRecordMainResponse> doQueryPage(UnsafeeventQueryRequest map, RequestPojo requestPojo);

    Result<T> doQueryDetail(UnsafeeventQueryRequest map, RequestPojo requestPojo);

    Result<T> doSummary(UnsafeeventQueryRequest map, RequestPojo requestPojo);

    Result<T> doSummaryReport(UnsafeeventQueryRequest map, RequestPojo requestPojo);

    Result<UnsafeeventAccidentChokingFoodResponse> doSaveAccidentChokingFood(UnsafeeventAccidentChokingFoodSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventAccidentFallResponse> doSaveAccidentFall(UnsafeeventAccidentFallSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventAccidentHurtResponse> doSaveAccidentHurt(UnsafeeventAccidentHurtSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventAccidentOtherResponse> doSaveAccidentOther(UnsafeeventAccidentOtherSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventAccidentOutResponse> doSaveAccidentOut(UnsafeeventAccidentOutSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventAccidentSelfKillResponse> doSaveAccidentSelfKill(UnsafeeventAccidentSelfKillSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventDiagnosisDietWrongResponse> doSaveDiagnosisDietWrong(UnsafeeventDiagnosisDietWrongSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventDiagnosisInfusionReactionResponse> doSaveDiagnosisInfusionReaction(UnsafeeventDiagnosisInfusionReactionSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventDiagnosisMedicalHandleResponse> doSaveDiagnosisMedicalHandle(UnsafeeventDiagnosisMedicalHandleSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventDiagnosisOtherReactionResponse> doSaveDiagnosisOtherReaction(UnsafeeventDiagnosisOtherReactionSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventDiagnosisSampleWrongResponse> doSaveDiagnosisSampleWrong(UnsafeeventDiagnosisSampleWrongSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventDoctorAndPatientNegotiationResponse> doSaveDoctorAndPatientNegotiation(UnsafeeventDoctorAndPatientNegotiationSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventHospitalInfectedResponse> doSaveHospitalInfected(UnsafeeventHospitalInfectedSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventMedicalBadReactionResponse> doSaveMedicalBadReaction(UnsafeeventMedicalBadReactionSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventMedicalWrongDrugResponse> doSaveMedicalWrongDrug(UnsafeeventMedicalWrongDrugSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventMedicalInstrumentResponse> doSaveMedicalInstrument(UnsafeeventMedicalInstrumentSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventOtherReactionGeneralResponse> doSaveOtherReactionGeneral(UnsafeeventOtherReactionGeneralSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventOtherReactionPublicResponse> doSaveOtherReactionPublic(UnsafeeventOtherReactionPublicSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventOtherReactionPublicSecurityResponse> doSaveOtherReactionPublicSecurity(UnsafeeventOtherReactionPublicSecuritySaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventPreventionAndProtectionResponse> doSavePreventionAndProtection(UnsafeeventPreventionAndProtectionSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventSurgicalBadResponse> doSaveSurgicalBad(UnsafeeventSurgicalBadSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventSurgicalNonPlanedResponse> doSaveSurgicalNonPlaned(UnsafeeventSurgicalNonPlanedSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventSurgicalOperationBadResponse> doSaveSurgicalOperationBad(UnsafeeventSurgicalOperationBadSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventTransfusionBloodReactionResponse> doSaveTransfusionBloodReaction(UnsafeeventTransfusionBloodReactionSaveRequest entity, RequestPojo requestPojo);

    Result<UnsafeeventTransfusionWrongBloodResponse> doSaveTransfusionWrongBlood(UnsafeeventTransfusionWrongBloodSaveRequest entity, RequestPojo requestPojo);

    Result doApprove(UnsafeeventApproveRequest entity, RequestPojo requestPojo);

    Result doDelete(UnsafeeventDeleteRequest map, RequestPojo requestPojo);

}
